package cate.common.table.d;

import easy.java.dev.note.NoteClass;
import easy.java.dev.note.NoteField;

@NoteClass( "战斗")
public class GDFight {
    /** 两倍速实际倍率 */
    public static final double FAST_SPEED_RATE = 1.6;

    /** 战斗完成时间容差ms */
    public static final int FINISH_TIME_TOLERANCE = 300000;

    @NoteClass("战斗-战斗回合")
    public static class Round{
        @NoteField("第1回合序号")
        public static final int INDEX_FIRST = 1;

        @NoteField("默认最大回合数")
        public static final int DEFAULT_ROUND_MAX = 15;
    }


    @NoteClass("战斗-战斗者类型")
    public static class Fighter {
        @NoteField("英雄")
        public static final byte HERO = 1;

        @NoteField("法宝")
        public static final byte HALLOW = 2;

        @NoteField("灵宠")
        public static final byte PET = 3;

        /**
         * 是否是场上的fighter 英雄 召唤物？
         * @param type
         * @return
         */
        public static boolean isAreaFighter(byte type) {
            return type == HERO;
        }

    }


    @NoteClass("战斗-队伍")
    public static class Team {

        @NoteField("没有队伍")
        public static final byte NONE = 0;

        @NoteField("队伍A")
        public static final byte A = 1;

        @NoteField("队伍B")
        public static final byte B = 2;
    }

    @NoteClass("战斗-超过战斗回合上限时的胜负关系判断规则")
    public static class WinnerRule{

        @NoteField(value = "无",detail = "由功能自行判断")
        public static final byte NONE = 0;

        @NoteField(value = "B方获胜",detail = "平局时优先B方赢,常规的冒险副本")
        public static final byte B_SIDE = 1;

        @NoteField(value = "pvp算法",detail = "剩余英雄数、剩余血量")
        public static final byte PVP = 2;

        @NoteField(value = "A方永远获胜",detail = "打boss玩法")
        public static final byte ALWAYS_A = 3;

        @NoteField(value = "B方存活时B方胜利",detail = "怪物有血量继承的玩法")
        public static final byte B_LIVE = 4;
    }
}
